#!/usr/bin/env node
//permet de charger l'environnement node de la machine au lieu d'avoir node_module
var sys = require("sys"),
	fs = require("fs"),
	chat = require('../lib/server'),
	router = require("../lib/router");

// Création du serveur de chat
var chatServer = chat.createServer();
chatServer.listen(8001);

// créer un canal et enregistrer toutes les activités sur la sortie standard
chatServer.addChannel({
	basePath: "/chat"
}).addListener("msg", function(msg) {
	sys.puts("<" + msg.nick + "> " + msg.text);
}).addListener("join", function(msg) {
	sys.puts(msg.nick + " join");
}).addListener("part", function(msg) {
	sys.puts(msg.nick + " part");
});

// fichiers du serveur web statiques
function serveFiles(localDir, webDir) {
	fs.readdirSync(localDir).forEach(function(file) {
		var local = localDir + "/" + file,
			web = webDir + "/" + file;
		
		if (fs.statSync(local).isDirectory()) {
			serveFiles(local, web);
		} else {
			chatServer.passThru(web, router.staticHandler(local));
		};
	});
}
serveFiles(__dirname, "");
chatServer.passThru("/js/nodechat.js", router.staticHandler(__dirname + "/../lib/nodechat.js"));
chatServer.passThru("/", router.staticHandler(__dirname + "/index.html"));
